
public abstract class Pieza {
	
	protected int fila;
	protected String columna;
	protected String nombre;
	protected String tipo;
	protected MoverPieza MoverPieza;
	protected MoverDiagonal MoverDiagonal;
	
	public int getFila(){
		return fila;
	}
	
	public void setFila(int fila){
		this.fila=fila;
	}
	
	public String getColumna(){
		return columna;
	}
	
	public void setColumna(String columna){
		this.columna=columna;
	}
	
	public String getNombre(){
		return nombre;
	}
	
	public String getTipo(){
		return tipo;
	}
	
	public int diferenciaFila(int filaDestino){ // calcula diferencias entre la fila del peon y la filaDestino
		int resultado=filaDestino-getFila();
		return resultado;
	}
	
	public String detectarObstaculos(){
		String mensaje="";
		if(getNombre()=="peon"){
			mensaje="movimiento incorrecto, hay una pieza en el camino del peon";
		}
		else if(getNombre()=="torre"){
			mensaje="movimiento incorrecto, hay una pieza en el camino de la torre";
		}
		else if(getNombre()=="alfil"){
			mensaje="movimiento incorrecto, hay una pieza en el camino del alfil";
		}
		else if(getNombre()=="dama"){
			mensaje="movimiento incorrecto, hay una pieza en el camino de la dama";
		}
		else if(getNombre()=="rey"){
			mensaje="movimiento incorrecto, hay una pieza en el camino del rey";
		}
		return mensaje;
	}
	
	public String detectarMovimiento(int filaDestino, String columnaDestino){
		String mensaje="";
		if(getNombre()=="peon"){
			mensaje="mover peon de "+getColumna()+getFila()+" a "+columnaDestino+filaDestino;
		}
		else if(getNombre()=="torre"){
			mensaje="mover torre de "+getColumna()+getFila()+" a "+columnaDestino+filaDestino;
		}
		else if(getNombre()=="cab"){
			mensaje="mover caballo de "+getColumna()+getFila()+" a "+columnaDestino+filaDestino;
		}
		else if(getNombre()=="alfil"){
			mensaje="mover alfil de "+getColumna()+getFila()+" a "+columnaDestino+filaDestino;
		}
		else if(getNombre()=="dama"){
			mensaje="mover dama de "+getColumna()+getFila()+" a "+columnaDestino+filaDestino;
		}
		else if(getNombre()=="rey"){
			mensaje="mover rey de "+getColumna()+getFila()+" a "+columnaDestino+filaDestino;
		}
		return mensaje;
	}
	
	public void moverPieza(Tablero tablero, Pieza pieza, int fila, String columna){
		MoverPieza.movimiento(tablero, pieza, fila, columna);
	}
}
